Ziel Ihrer Entwicklungsgruppe ist es, ...
Verfolgen Sie dieses Ziel schrittweise:
Jede Gruppe nennt dem Betreuer bei Projektbeginn für jedes Phasendokument S2 bis I4 einen Verantwortlichen. Die Bedienungs- und Entwicklungshilfe sollte immer den jeweils aktuellen Entwicklungsstand dokumentieren. Lassen Sie deshalb spätestens drei Tage vor jeder Plenumssitzung Ihre nachgeführte Hilfedatei vom Betreuer auf das Netz stellen (siehe Projektplan des Veranstaltungsmerkblatts). Das Thema HTML Help Workshop führt Sie in die Erstellung einer Hilfedatei ein.
Je nach Einsatzbereich der Software ist die Rangfolge der Qualitätskriterien unterschiedlich. Ordnen Sie den Einsatzbereichen 1 bis 6 jenes Qualitätskriterium a bis f zu, das nach Ihrer Meinung am wichtigsten ist:
On line - Flugbuchung
Flugbahnberechnung
Textverarbeitung
Datenbankverwaltung
Systemsoftware für einen PC
Lohnabrechnung
Laufzeiteffizienz
Speichereffizienz
Zuverlässigkeit
Benutzerfreundlichkeit
Wartbarkeit
Anpassungsfähigkeit
Programmsysteme unterliegen nach ihrer Abnahme mehr oder weniger häufigen Änderungen. Empirische Untersuchungen haben folgende Änderungsursachen ergeben:
Die benutzenden Fachabteilungen äussern nachträglich Wünsche, die im ersten Anlauf vergessen oder nicht genug berücksichtigt worden sind
Entwurfsfehler (Fehler in der Konzeption des Softwaresystems)
Programmierfehler (falsche Umsetzung des Entwurfs in den Programmcode)
Die Marktlage, insbesondere das Sortiment, ändern
Veränderung der Hardware oder Systemsoftware.
Ordnen Sie die Änderungsursachen a bis e nach ihrer Bedeutung.
Welche Anteile an der Entwicklung eines Softwaresystems beanspruchen die Phasen Definition, Implementation, Testen?
10%, 80%, 10%
20%, 40%, 40%
30%, 20%, 50%
Phasenschemata unterscheiden sich zum einen durch ihre Granularität (der Anzahl Phasen) und zum andern durch die Phasenbezeichnungen. Die Phasen a bis i unterscheiden sich deshalb von unserem einfachen Phasenschema. Ordnen Sie die Tätigkeiten 1 bis 20 den Projektphasen a bis i zu (Mehrfachzuordnungen möglich):
Bildschirmmasken entwerfen
Benutzerwünsche ermitteln
Testdaten ermitteln
Programmiersprache wählen
Datenmodell entwickeln
Zeitplan erstellen
Personal- und Finanzbedarf ermitteln
Entscheidungstabellen erstellen
Ablaufbäume (Kontrollbäume) zeichnen
System an Hardware- und Softwareänderungen anpassen
Datenflusspläne zeichnen
Debugger einsetzen
Abwicklungs- und Pflegeaufwand erfassen
Benutzer schulen
Moduldefinitionen erstellen
Modulbibliotheken anlegen
Hardware auswählen
Projektauswertung
Benutzerdokumentation
Prototypen entwickeln
Istanalyse
Zielanalyse
Grobkonzept
Durchführbarkeitsstudie
Detailkonzept (Was?)
Entwurf (Wie?)
Programmierung
Überprüfung
Installation
Ordnen Sie den den Phasenbezeichnern 1 bis 9 die passenden Bezeichnungen a bis l zu (Die Bezeichnungen sind nur zum Teil synonym):
Istanalyse
Zielanalyse
Grobkonzept
Durchführbarkeitsstudie
Detailkonzept (Was?)
Entwurf (Wie?)
Programmierung
Überprüfung
Installation
globales Sollkonzept
feasibility study
Implementierung
detailliertes Sollkonzept
Spezifikation
Wartung
Modularisierung
Testen
Problemanalyse
Schwachstellenanalyse
Anforderungskatalog
Modulentwurf
Welchen Vorteil bietet die Aufzeichnung einer Projektgeschichte?
Information für zukünftige Projekte
Entscheidungsgrundlage für den künftigen Einsatz der Projektmitarbeiter
Hilfe bei der Fehlersuche beim Einsatz der produzierten Software
Die Zielanalyse für ein Softwareprojekt besteht aus den Tätigkeiten
Ziele sammeln
Ziele hierarchisieren
Ziele verbinden (Abhängigkeiten identifizieren)
Identifizieren Sie Abhängigkeiten zwischen den folgenden Kriterien der Softwarequalität:
Brauchbarkeit
Zuverlässigkeit
Benutzerfreundlichkeit
Portabilität
Effizienz
Wartbarkeit
Verständlichkeit
Testbarkeit
Änderbarkeit
Komplexe Abläufe können durch Netzplanverfahren so geplant, koordiniert und kontrolliert werden, dass ein Endziel termingerecht und wirtschaftlich erreicht werden kann. Ein verbreitetes Verfahren ist CPM (Critical Path Method). Die folgenden Schritte führen zu einem CPM-Netzplan (Vollziehen Sie die Schritte 2 bis 7 selbst, indem Sie das Beispiel in Schritt 1 weiterentwickeln):
Stelle eine Liste der Projekttätigkeiten zusammen. Jede Tätigkeit hat folgende Eigenschaften: Zeitschätzung, vorausgesetzte (vorangehende) Tätigkeiten (Abhängigkeiten), gebundene Kapazitäten.
Tätigkeit Woche
Vorangehende Tätigkeiten Benötigte Analytiker
Kapazität
ProgrammiererKapazität
HilfskräfteA Grobkonzept 3 - 3 - - B Hardware abwarten 10 A - - - C Dateien erzeugen 5 A 1 - 2 D Programmentwurf 4 A 2 - - E Codieren 8 D - 3 - F Überprüfung 2 B, C, E 2 2 - G Hardware installieren 1 B - - - H Personal schulen 6 A 2 - - I Installation/Abnahme 2 F, G, H 1 1 2
Zeichnen Sie einen Netzplan nach folgenden Regeln: Eine Kante (Pfeil) stellt den zeitlichen Ablauf einer Tätigkeit dar. Knoten (Kreise) begrenzen die Kanten und stellen Ereignisse dar. Eine Tätigkeit darf erst beginnen, wenn alle vorausgesetzten Tätigkeiten abgeschlossen sind.
Bezeichnen Sie jede Kante mit dem Namen und der Dauer der Tätigkeit.
Trage Sie in jeden Knoten den frühestmöglichen und den spätestmöglichen Termin des Ereignisses ein.
Bestimmen Sie den (zeit)kritischen Pfad, d.h. den Pfad, dessen Tätigkeiten zusammen am längsten dauern.
Berechnen Sie für alle Tätigkeiten den frühester Starttermin, den frühesten Endtermin, den spätesten Endtermin und den spätesten Starttermin.
Zeichnen Sie für jede Ressource (z.B. Personal, Geld) ein Histogramm (Balkendiagramm), welches die benötigten Kapazitäten pro Periode anzeigt.
Zur Aufbauorganisation einer EDV-Abteilung gehört die Zuweisung von Aufgaben an Stellen. Ordnen Sie den Stellen 1 bis 8 die Aufgaben a bis l zu:
Systemorganisator
Systemanalytiker
Anwendungsprogrammierer
Systemprogrammierer
Operator/Hilfskraft
Datentypist
Datenverwalter
Datenbankverwalter
Entwurf von Anwendungssoftware
Bedienung der Hardware
Beurteilung von Projektplänen
Einführung neuer Softwaresysteme
langfristige Planung des Informationssystems der Unternehmung
Dokumentation neuer Softwaresysteme
Entwurf und Pflege des Datenmodells der Unternehmung
Beratung bei der Verwendung des Betriebssystems
Übertragung der Daten von Originalbelegen auf maschinenlesbare
Datenträger
Implementierung neuer Standardsoftware auf dem Rechner
Einrichten und Pflegen der Datenbank.
Eine empirische Studie hat die dringlichsten Mangagementprobleme der Softwareentwicklung erhoben. Welche Probleme schätzen Sie als dringlich, welche als weniger dringlich ein?
Organisationsmodell (Linie/Stab, Matrix, Projekt)
Anforderungsdefinition (Produkteigenschaften eindeutig festlegen)
Projektplanung
Budgetkontrolle
Lieferzeit
Wahl der Führungstechniken
Auswahl des Projektmanagers
Wahl der geeigneten Entwurfsmethoden
Kontrolle der Produktgüte
Die Makroorganisation (den Arbeitsgruppen übergeordnete Organisationsstruktur) von EDV-Abteilungen und -projekten lässt sich nach den drei aus der Betriebswirtschaftslehre bekannten Organisationsmodellen (Stab/Linienorganisation, Matrixorganisation und Projektorganisation) gestalten. Ordnen Sie die folgenden Aussagen den drei Organisationsmodellen zu:
Eignung für die Kombination von Routinearbeit und innovativer Arbeit
klarer Weisungs- und Berichtsweg
Ein Mitarbeiter kann in verschiedenen Projekten tätig sein.
Eignung für innovative Aufgaben
Eignung für Softwarehäuser und grössere Unternehmungen
Trennung von fachlicher und wirtschaftlicher Überwachung
Jeder kennt nur noch Teile des Endprodukts.
Gefahr von Kompetenzkonflikten
Baumhierarchien können graphisch oder durch Ein- und Ausrücken von Text dargestellt werden. Führen Sie die folgende graphische Darstellung in eine äquivalente Textdarstellung über:
Ein Systemanalytiker benötigt für den Entwurf eines Auftragsabwicklungs-Systems die durchschnittliche Anzahl der Aufträge pro Tag. Aus
Aufwandsgründen verzichtet er auf eine Vollerhebung. Trotzdem möchte er mit einer
Wahrscheinlichkeit von 95% sicher sein, dass das arithmetische Mittel der Stichprobe um höchstens 5 vom Durchschnitt der Grundgesamtheit abweicht.
Die folgenden zufällig gezogenen Auftragsdaten liegen bereits vor. Wieviele zusätzliche Daten muss der Systemanalytiker sammeln, damit er
sein Ziel erfüllt?
153, 132, 180, 173, 150, 125, 132, 140, 161, 152, 170, 144
Lösungshinweis
Wenn man annimmt, dass sich die Stichprobenmittel bei einer sehr grossen Anzahl von Stichproben normal verteilen, so ist die Aufgabenlösung ein
Beispiel für die Bestimmung des Stichprobenumfangs bei gegebenem Konfidenzintervall.
Die folgende Liste enthält eine Liste von Attributen. Ordnen Sie die Attribute den im Hilfethema Zusammengesetzte Datentypen unterschiedenen Attributstypen zu.
Tag, Monat, Jahr
Datum
Umsatz
Fremdsprachenkenntnisse
Körpergrösse
Zivilstand
Vorname
Die folgenden Zeilen beschreiben verbal ein Distributionssystem eines Bücherhändlers, der Bestellungen von Privatkunden und Firmen entgegennimmt. Die Beschreibung ist unsystematisch, enthält Information von unterschiedlicher Abstraktionsstufe und vermischt Struktur- und Ablaufinformation. Die Beschreibung könnte zum Beispiel eine Zusammenfassung von Interviews eines Systemanalytikers in der Unternehmung sein.
Lesen Sie die Beschreibung und erstellen Sie ein zusammenfassendes logisches Datenflussdiagramm, das Grundlage einer weiteren Verfeinerung sein kann. Die im folgenden beschriebene Art von Datenflussdiagrammen (auch Datenflussmodelldiagramme) heisst nach ihren Begründern Gane-Sarson-Diagramme. Am einfachsten erstellen Sie die Diagramme mit Softwareunterstützung. Ein Werkzeug, das die Erstellung verschiedenster Arten von Diagrammen unterstützt, ist MS Visio.
01 Bestellungen erreichen uns per Telefon oder Post. Telefonische Bestellungen
02 notieren wir auf ein Formular oder tippen sie direkt am Terminal ein. Bei
03 jeder Bestellung wird geprüft, ob Autor und Titel lesbar und das Buch
04 verfügbar ist. Wenn die Bestellung mangelhaft ist, versucht ein Sachbearbeiter
05 den wirklichen Inhalt der Bestellung zu eruieren. Liegt der Bestellung ein
06 Check bei, so wird der Betrag geprüft. Übersteigt der Unterschied zwischen
07 Soll- und Istbetrag eine bestimmte Toleranz, so wird eine Aufforderung zur
08 Vorauszahlung des Restbetrages verschickt oder ein Kredit eingeräumt. Wenn
09 kein Check beiliegt, überprüfen wir in unserer Kundendatei die Kreditwürdigkeit
10 Ist der Kunde nicht kreditwürdig, senden wir ihm eine Bestätigung
11 der Bestellung und fordern ihn zu einer Vorauszahlung auf. Bestellungen
12 neuer Kunden führen zu einer Fortschreibung der Kundendatei. Wenn sich
13 Bestellungen mit Check oder von kreditwürdigen Kunden ab Lager ausführen
14 lassen, so fügen wir den Büchern einen Lieferschein und eine Rechnung bei.
15 Rechnungen für vorausbezahlte Bücher erhalten den Vermerk "Bezahlt". Falls
16 wir die Bestellung nur teilweise ausführen können, vermerken wir dies
17 sowohl auf dem Lieferschein als auch auf der Rechnung. Zudem merken wir uns
18 den noch nicht ausgeführten Teil der Bestellung in einer Vormerkdatei.
19 Solche Bestellungen werden ausgeführt, sobald wir vom Verleger die
20 entsprechenden Bücher erhalten. Bestellungen an Verlagshäuser werden gesammelt,
21 um Mengenrabatte auszunützen. Retouren überprüfen wir auf Beschädigungen,
22 stornieren den Kredit oder erstatten die Vorauszahlung zurück. Bücher, die
23 wir nicht im Lager führen, senden wir wenn möglich an den Verleger zurück.
24 Lieferungen von Verlegern werden mit den Bestellungen verglichen. Eventuellen
25 Unterschieden wird sofort nachgegangen. Die gelieferten Titel vergleichen
26 wir mit den Titeln der Vormerkdatei, damit die hängigen Bestellungen
27 unserer Kunden sofort ausgeführt werden können.
28 Den Sicherheitsbestand für ein Buch, das wir ins Lager aufgenommen haben,
29 ermitteln wir anhand der folgenden Formel: ((Anzahl Bestellungen während
30 der letzten 4 Wch.) / 4) * (Lieferzeit des Verlegers) * 1.5. 1.5 ist der
31 Sicherheitskoeffizient; er kann an dem jeweiligen Titel angepasst werden.
32 Die Bestellmenge ist gleich dem Sicherheitsbestand, multipliziert mit dem
33 Bestellfaktor und aufgerundet auf die Menge des nächsthöheren Rabattsatzes.
34 Der Bestellfaktor ist i.a. 3, kann aber der Situation angepasst werden.
35 Wenn die eingegangene Zahlung eines Kunden nicht genau einem der offenen
36 Posten entspricht, wird die Zahlung zuerst mit den ältesten offenen Posten
37 verrechnet. Wenn ein offener Posten seit mehr als 30 Tagen besteht, erhält
38 der Kunde einen Rechnungsauszug mit allen offenen Posten. Wird eine
39 Rechnung nicht innert 60 Tagen bezahlt, senden wir dem Kunden eine 2 Mahnung,
40 und zwar mit der Unterschrift des Vizedirektors.
41 Kreditorenrechnungen vergleichen wir mit den erhaltenen Lieferungen und
42 tragen die geprüften Zahlen ins Kreditorenkonto ein. Wenn der Skonto die
43 einen vom Management vorgegebenen Zinssatz übersteigt, so wird ein Check
44 auf den letzten Tag der Skontofrist ausgegeben.
45 Unser System soll täglich, wöchentlich und monatlich folgende Berichte
46 erzeugen: ausgegangene Kundenrechnungen, erhaltene Kundenzahlungen, offene
47 Posten nach Verfalldauer, offene Aufträge, Bestellungen bei Lieferanten.
48 Die folgenden Abfragen sollten sofort beantwortet werden können: Verkäufe
49 pro Gebiet, Titel und Verlag, Lieferzeiten eines Verlags, Bücher an Lager,
50 bestellte Bücher mit den erwarteten Lieferterminen, Bearbeitungsstand von
51 Kundenbestellungen.
Beim Entwurf eines logischen Datenflussdiagramms für ein System dieser Komplexität lässt man sich am besten vom folgenden Phasenschema leiten (Begleiten Sie Ihre Antwort mit einem Verweis auf die entsprechende Zeile des Falltexts):
Identifizieren Sie die externen Datenlieferanten und -empfänger, d.h. die Schnittstellen an den Grenzen des zu entwerfenden Systems (zum Beispiel die Lieferanten). Am besten verweisen Sie ausserdem auf die entsprechende Textteile.
Identifizieren Sie zu jedem Input ins System den externen Lieferanten und zu jedem Output aus dem System den externen Empfänger.
Nachdem wir die Inputs und ihre Lieferanten sowie die Outputs und ihre Empfänger identifiziert haben, konzentrieren wir uns auf jene Inputs und Outputs, deren Transformation für unser System vorerst wichtig ist. Der dritte Schritt ist deshalb:
Eliminiere jene Datenflüsse, welche Ausnahmen oder Fehler behandeln, und fasse logisch zusammengehörende Datenflüsse zusammen.
Nachdem die Systemgrenzen und die Beziehungen zur Umwelt des Systems festgelegt sind, überlegen wir uns die Transformationen der Inputs in die Outputs im zu entwerfenden System. Die Systemelemente und -beziehungen werden mit Vorteil graphisch dargestellt. Dabei wollen wir keine Implementationsentscheidungen wie physische Speicher- und Verarbeitungsformen vorwegnehmen, sondern nur logische Elemente und Beziehungen darstellen. Die Wahl der graphischen Symbole ist unerheblich, und das Erstellen des Diagramms iterativ (d.h. erfordert bis zum Gelingen mehrere Durchläufe).
Erstelle ein Datenflussdiagramm mit folgenden Symbolen:
Externer Datenverarbeiter: Als Symbol eignet sich zum Beispiel ein Quadrat, in welches der Name des Verarbeiters geschrieben wird.
Prozess (Aktivität, Funktion): Als Symbol eignet sich zum Beispiel ein Rechteck mit abgerundeten Ecken, in welches eine kurze Beschreibung des Prozesses geschrieben wird.
Datenfluss zwischen Prozessen bzw. zwischen Prozessen und externen Datenverarbeitern: Als Symbol eignet sich zum Beispiel eine Pfeil, der mit dem Namen des Datenflusses bezeichnet wird.
Logische Datenspeicher, der - ohne Entscheidung über die Form der Speicherung - angibt, wo die Information aus den Prozessen gespeichert wird: Als Symbol eignet sich zum Beispiel ein offener Behälter.
Im ersten Durchlauf wählt man sich am besten ein Subsystem, das sich leichter darstellen lässt, für unser System zum Beispiel die Bearbeitung der Bestellungen und Vorauszahlungen, und fügt schrittweise weitere Subsysteme hinzu. Das erste Datenflussdiagramm enthält oft Datenflüsse, die sich überschneiden. Die Zahl der Überschneidungen verringert sich, wenn man den gleichen externen Datenverarbeiter und den gleichen logischen Datenspeicher mehrfach zeichnet. Mehrfach gezeichnete Elemente sollten aber entsprechend gekennzeichnet werden (z.B. durch einen Schrägstrich in der unteren Ecke des Kästchens).
Die Software-Entwicklungsabteilung eines Unternehmens besteht aus mehreren Mitarbeitern, die an verschiedenen Projekten beteiligt sind. Der Abteilungsleiter wird durch zwei Programmpakete unterstützt: PERSONALVERWALTUNG und TERMINKONTROLLE. Die MITARBEITERdatei ist nach Mitarbeiternummern und die PROJEKTDATEI nach Projektnummern aufsteigend sortiert. Zur besseren Kontrolle der Abteilung wird nachträglich eine PROJEKTBESCHREIBUNGsdatei eingerichtet. Ein Satz dieser Datei enthält für jedes Projekt die folgenden Felder: Termine, Projektbeschreibung, Name des Projektleiters, Namen der Projektmitarbeiter. Nach einiger Zeit entsteht zudem das Bedürfnis nach einem Programm, das die Erstellung von Tätigkeitsberichten unterstützt. Dazu wird die Datei TÄTIGKEITSBERICHT erstellt.
Welche Probleme entstehen in so gewachsenen Datei"systemen"?
Stellen Sie die
beschriebenen Daten und Prozesse logisch dar (ohne Berücksichtigung der
bestehenden Programme und Dateien, vgl.
Logisches Datenflussdiagramm).
Stellen Sie die beschriebenen Daten und Prozesse physisch dar.
Suchen Sie nach Beispielen mehrfach verwendbarer Moduln (Denken Sie an Bereiche wie Textverarbeitung, Rechnungswesen, Statistische Analyse).
Untersuchen Sie, welche der folgenden Moduleigenschaften die Ihnen bekannten programmiersprachlichen Konzepte zur Tätigkeitsabstraktion (Prozeduren, Funktionen, VBA-Module) erfüllen:
Abstraktion
Mehrfachverwendung
Information hiding
Eingabe-/Ausgabe-Schnittstelle
Erstellen Sie für das folgende Kreditgewährungsproblem einen
Entscheidungsbaum (vgl.
Baumdarstellung) oder eine andere grafische Darstellung zur Visualisierung von
Entscheidungen.
Die Kunden einer Firma unterscheiden sich in folgenden Eigenschaften:
inländisch/ausländisch
bekannt/unbekannt
Unternehmung/Privatperson
mit Referenz/ohne Referenz.
Kredite werden wie folgt gewährt:
Für inländische und bekannte Unternehmen ist die Kreditlimite 2000.-, für unbekannte Unternehmen im Inland 800.-. Ausländische Unternehmen mit Referenz (ohne Referenz) erhalten einen Kredit von 1400.- (600.-). Inländische Privatkunden erhalten nur einen Kredit (200.-), wenn sie eine Referenz vorweisen. Die Kreditgrenze für ausländische Privatkunden mit Referenz ist 100.-. Ausländische Privatkunden ohne Referenz erhalten keinen Kredit.
Suchen Sie für jeden der in den drei Zeitungsmeldungen beschriebenen Fälle mögliche Ursachen der beschriebenen "Computerpannen".
Welches (naive) Verständnis von Computeranwendungen schimmert in Meldungen dieser Art durch?
Suchen Sie zu den folgenden Fehlerarten Beispiele:
Entwurfsfehler
Fehler in der Detaillogik
blosse Codierfehler
Übersetzungsfehler
Datenerfassungsfehler
Ausführungsfehler
Datenbankfehler
Welchen Aussagen stimmen Sie zu?
Auf die Entwurfsphase lassen sich mehr Fehler zurückführen als auf die Implementierungsphase.
Das Auffinden von Fehlern der Implementierungsphase beansprucht mehr Zeit als deren Beseitigung.
Die Wahl der Programmiersprache ist für den Erfolg eines Projekts von geringer Bedeutung.
Suchen Sie nach einer möglichst vollständigen Liste von Testfällen, die ein
Programm DREIECK auf Fehler untersucht. Sie verfügen lediglich über den ausführbaren Code des Programms (Der Programmtext liegt also nicht vor).
Das Programm DREIECK verlangt 3 ganze Zahlen als Eingabe, interpretiert sie als Seiten eines Dreiecks und gibt aus, ob das Dreieck ungleichseitig,
gleichschenklig oder gleichseitig ist. Beispiel:
Geben Sie drei ganze Zahlen ein: 1. Dreiecksseite a: 5 2. Dreiecksseite b: 5 3. Dreiecksseite c: 5 Das Dreieck ist g l e i c h s e i t i g .
Achten Sie darauf, dass Sie wirklich a l l e relevanten Testfälle berücksichtigen und dass Sie für jeden Testfall die erwartete Ausgabe angeben.
Der folgende VBA-Code soll das Maximum der eingegebenen Gleitkomma-Zahlen bestimmen. Der Benutzer gebe die folgenden Werte ein: 2, 3.5, 3 und 5,5. Suchen Sie die ...
Sytaxfehler
Laufzeitfehler
logischen Fehler.
Dim Eingabe As Integer Dim Maximum As Integer Maximum = 0 Do While Eingabe > 0 If Eingabe > Maximum Then Maximum = Eingabe End If Eingabe = InputBox("Positive Ganzzahl: ") End While MsgBox("Das Maximum ist " & Maximum)